Whenever a computer is to be deployed on a network, an operating system must be loaded on the network. Once the operating system has been loaded onto the computer, various parameters of the operating system (e.g., network support, etc.) are configured to enable the computer to be deployed onto the network. Once all of the aforementioned tasks have been completed, the computer is deployed onto the network (i.e., a user can use this computer on the network).
The aforementioned approach works well when networks include a small number of computers. However, as networks expand, it is no longer efficient to have an administrator manually perform the aforementioned tasks. As a result, the concept of remote network booting (also known as a diskless boot) has been developed. In general, the idea behind remote network booting is to allow a large number of computers (e.g., greater than 50) to be booted automatically using a common operating system image (i.e., an operating system configured to enable the computer to work on the network). Such diskless boot approaches require maintenance of a set of identity files (for example, “/etc”, “/var”, “swap”, etc.) on a server.
The following briefly describes a diskless boot. Initially, a boot program is loaded onto the client (i.e., a computer upon which the operating system image is to be deployed). Typically, the boot programs reside in the client's Basic Input/Output System (BIOS) or in a boot Read Only Memory (ROM) located on a network card connected to the client. Upon execution, the boot program downloads a kernel from a Trivial File Transfer Protocol (TFTP) server. The kernel is typically downloaded using either an intermediate loader, such as a pre-boot execution environment (PXE) loader or directly from the TFTP server. Once the kernel has been downloaded, the kernel uses Dynamic Host Configuration Protocol (DHCP) or Bootstrap Protocol (BOOTP) to acquire configuration information. Upon receiving the configuration information, the client proceeds to boot the root filesystem (exported from the NFS server) and start operation of the kernel. Using the above steps (and associated technology), the above diskless boot allows a client to boot a kernel that is a maximum of 32 megabytes in size in its compressed state.